package com.qianfeng.nio;

//
//                            _ooOoo_  
//                           o8888888o  
//                           88" . "88  
//                           (| -_- |)  
//                            O/ = /O  
//                        ____/`---'/____  
//                      .   ' //| |// `.  
//                       / //||| : |||// /  
//                     / _||||| -:- |||||- /  
//                       | | /// - /// | |  
//                     | /_| ''/---/'' | |  
//                      / .-/__ `-` ___/-. /  
//                   ___`. .' /--.--/ `. . __  
//                ."" '< `.___/_<|>_/___.' >'"".  
//               | | : `- /`.;`/ _ /`;.`/ - ` : | |  
//                 / / `-. /_ __/ /__ _/ .-` / /  
//         ======`-.____`-.___/_____/___.-`____.-'======  
//                            `=---='  
//  
//         .............................................  
//                  佛祖镇楼                  BUG辟易  
//          佛曰:  
//                  写字楼里写字间，写字间里程序员；  
//                  程序人员写程序，又拿程序换酒钱。  
//                  酒醒只在网上坐，酒醉还来网下眠；  
//                  酒醉酒醒日复日，网上网下年复年。  
//                  但愿老死电脑间，不愿鞠躬老板前；  
//                  奔驰宝马贵者趣，公交自行程序员。  
//                  别人笑我忒疯癫，我笑自己命太贱；  
//  


import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * Created by Jackiechan on 2022/7/4 11:00
 *
 * @author Jackiechan
 * @version 1.0
 * @since 1.0
 */
public class Nio02 {
    public static void main(String[] args) throws Exception {
        FileInputStream fileInputStream = new FileInputStream("D:/Java/code/gp11/code/distrutask/nio/src/main/resources/laowang.txt");
        //转成nio的方式进行操作,channel可以将数据存放或者从buffer读取出来
        FileChannel fileChannel = fileInputStream.getChannel();
        //创建一个存放数据的buffer
        ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
        //将数据读取到buffer里面
        fileChannel.read(byteBuffer);
        //翻转
        byteBuffer.flip();
        //是不是还有数据
        while (byteBuffer.hasRemaining()) {
            byte b = byteBuffer.get();
            System.err.print((char)b);
        }

        System.err.println("");
        byteBuffer.rewind();//可以重新读
        while (byteBuffer.hasRemaining()) {
            byte b = byteBuffer.get();
            System.err.print((char)b);
        }
        fileInputStream.close();
    }
}
